// 抽离 通用接口配置项

// 1.导入 axios 
import axios from 'axios'
//引入nprogress
import NProgress from 'nprogress'
import 'nprogress/nprogress.css' //这个样式必须引入

// 2.抽离接口
// axios.defaults.baseURL = 'http://klxin.cn:8888/api/private/v1/'
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 请求的时候开始加载进度条
    NProgress.start()
    // 在发送请求之前做些什么
    // 获取token
    var token = sessionStorage.getItem('token')
    // 在请求头中携带token
    config.headers.Authorization=token
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

  // 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 结束进度条
    NProgress.done()
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

//1. 登录页面 请求
export var Login_api=(params)=>{
    return axios.post('login',params)
}
//2. 左侧边栏
export var menus_api=()=>{
    return axios.get('menus')
}

//3. 用户列表
export var users_api=(params)=>{
    return axios.get('users',{
        params:params
    })
}

// 4.删除用户
export var delete_api=(id)=>{
    return axios.delete('users/'+id)
}
// 5.查询用户信息
export var getuser_api=(id)=>{
    return axios.get('users/'+id)
}

// 6.编辑用户信息
export var put_api=(params)=>{
    return axios.put(`users/${params.id}`,params)
}

// 7.修改用户状态

export var deitUser_api=(params)=>{
    return axios.put(`users/${params.uId}/state/${params.type}`)
}
// 8.菜单权限
export var rolesList_api=(params)=>{
    return axios.get(`roles`)
}

// 9.所有权限（树形结构菜单）
export var RightsList_api=(type)=>{
    return axios.get(`rights/${type}`)
}

// 10 .添加用户
export var addusers_api=(params)=>{
    return axios.post(`users`,params)
}
// 11. 添加角色
export var addRoles_api=(params)=>{
    return axios.post(`roles`,params)
}
//12. 编辑角色
export var EditRoles_api=(params)=>{
    return axios.put(`roles/${params.id}`,params)
}
//13.删除角色
export var deleteRoles_api=(id)=>{
    return axios.delete(`roles/${id}`)
}

// 14. 角色授权
export var authorizationRoles_api=(params)=>{
    return axios.post(`roles/${params.roleId}/rights`,{
        rids:params.rids
    })
}

// 15 . 删除角色指定权限
export var deleteRolesAuth_api=(roleId,rightId)=>{
    return axios.delete(`roles/${roleId}/rights/${rightId}`)
}

// 16.分配用户角色
export var UsersRolesAuth_api=(params)=>{
    return axios.put(`users/${params.id}/role`,{
        rid:params.rid
    })
}

// 17.商品分类管理

export var categoriesList_api=(params)=>{
    return axios.get(`categories`,{params})
}

// 18. 商品列表数据
export var GoodsList_api=(params)=>{
    return axios.get(`goods`,{params})
}

//19. 删除商品

export var DeleteGoods_api=(id)=>{
    return axios.delete(`goods/${id}`)
}

//20. 参数列表
// categories/:id/attributes

export var cateParamsList_api=(params)=>{
    return axios.get(`categories/${params.id}/attributes`,{
        params:{sel:params.sel}
    })
}

// 21.添加分类
export var catePostList_api=(params)=>{
    return axios.post(`categories`,params)
}

//22. 删除参数

export var DeleteCateList_api=(params)=>{
    return axios.delete(`categories/${params.id}/attributes/${params.attrid}`)
}

// 23. 添加动态参数或者静态属性categories/:id/attributes
export var AddCatsList_api=(params)=>{
    return axios.post(`categories/${params.id}/attributes`,params)
}

// 24 . 编辑提交参数categories/:id/attributes/:attrId
export var AddAttrList_api=(params)=>{
    return axios.put(`categories/${params.id}/attributes/${params.attrId}`,params)
}
// 25.删除参数 categories/:id/attributes/:attrid delete



// 26.删除分类categories/:id
export var delCategos_api=(id)=>{
    return axios.delete(`categories/${id}`)
}

// 27.编辑提交分类categories/:id
export var AddCategos_api=(params)=>{
    return axios.put(`categories/${params.id}`,{
        cat_name:params.cat_name
    })
}

// 28.编辑商品信息 goods/:id put

export var editCommodity_api=(params)=>{
    return axios.put(`goods/${params.id}`,{ 
            goods_name:params.goods_name,
            goods_price:params.goods_price,
            goods_number:params.goods_number,
            goods_weight:params.goods_weight,
    })
}

// 29.orders订单数据列表
export var ordersList_api=(params)=>{
    return axios.get(`orders`,{params})
}

// 30 goods 添加商品

export var GoodsShopingList_api=(params)=>{
    return axios.post(`goods`,params)
}

// 31.基于时间统计的折线图 reports/type/1
export var  reports_api=()=>{
    return axios.get(`reports/type/1`)
}

// 32 .修改订单信息orders/:id
export var  reportsAdd_api=(params)=>{
    return axios.get(`orders/${params.id}`,{params})
}

// 33. 物流信息  /kuaidi/:id
export var  kuaidiAdd_api=(id)=>{
    return axios.get(`/kuaidi/${id}`)
}